﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraBars;
using QLKhachSan.DTO;
using System.Data.SqlClient;
using QLKhachSan.DAO;
using QLKhachSan.BUS;
using DevExpress.XtraEditors;

namespace QLKhachSan.GUI
{
    public partial class fInBaoCao : DevExpress.XtraBars.Ribbon.RibbonForm
    {
        public fInBaoCao()
        {
            InitializeComponent();
        }
        private fNhapMaPhieu _fNhapMaPhieu = new fNhapMaPhieu();
        public static int soTienDatTiec;
        private fBaoCao _fBaoCao;

        private void barButtonItem2_ItemClick_1(object sender, ItemClickEventArgs e)
        {         
            if (fDatPhong.maPhieuDat > 0)
            {
                MessageBox.Show("In Phiếu Đặt Phòng:  Số Phiếu  " + fDatPhong.maPhieuDat.ToString(), "Note !", MessageBoxButtons.OK, MessageBoxIcon.Information);

                DTO_PhieuDatPhong dto_pdp = new DTO_PhieuDatPhong();
                dto_pdp.MaPhieuDat = fDatPhong.maPhieuDat;
               
                DataTable dta_pdp = BUS_PhieuDatPhong.hienthiDanhSachPhieuDatPhongInTheoMaPhieuDat(dto_pdp);

                dta_pdp.TableName = "rpPHIEUDATPHONG";
                dta_pdp.WriteXmlSchema(Application.StartupPath + @"\PHIEUDATPHONG.xsd");

                PhieuDatPhong inPhieuDatPhong = new PhieuDatPhong();
                inPhieuDatPhong.DataSource = dta_pdp;
                inPhieuDatPhong.DataMember = "Table";
                printControl1.PrintingSystem = inPhieuDatPhong.PrintingSystem;
                inPhieuDatPhong.CreateDocument();
               
            }
            else
            {
                if (MessageBox.Show("Chưa có Mã Số Phiếu đặt phòng, Cần nhập Mã số phiếu đặt phòng : ", "Note !", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    this.Close();
                    if (_fNhapMaPhieu == null || _fNhapMaPhieu.IsDisposed) // Chua Tao or Chua Mo fNhapMaPhieu, Tạo Mới fNhapMaPhieu
                    {
                        _fNhapMaPhieu = new fNhapMaPhieu();
                        _fNhapMaPhieu.MdiParent = fMain.ActiveForm;
                        _fNhapMaPhieu.Show();
                    }
                    else
                    {
                        
                        _fNhapMaPhieu.Close();
                        _fNhapMaPhieu = new fNhapMaPhieu();
                        _fNhapMaPhieu.MdiParent = fMain.ActiveForm;
                        _fNhapMaPhieu.Show();
                    }      
                }
            }
        }

        private void barButtonItem5_ItemClick(object sender, ItemClickEventArgs e)
        {
            if (fThanhToan.maPhieuThu > 0)
            {
                MessageBox.Show("In Phiếu Thu :  Số Phiếu  " + fThanhToan.maPhieuThu.ToString(), "Note !", MessageBoxButtons.OK, MessageBoxIcon.Information);
                
                DTO_PhieuThu dto_pt = new DTO_PhieuThu();
                dto_pt.MaPhieuThu = fThanhToan.maPhieuThu;
                DataTable dta_pt = BUS_PhieuThu.hienthiDanhSachPhieuThuInTheoMaPhieuThu(dto_pt);
                dta_pt.TableName = "rpPHIEUTHU";
                dta_pt.WriteXmlSchema(Application.StartupPath + @"\PHIEUTHU.xsd");
                fThanhToan fmThanhToan = new fThanhToan();
                PhieuThu inPhieuThu = new PhieuThu();
                inPhieuThu.DataSource = dta_pt;
                inPhieuThu.DataMember = "Table";
                printControl1.PrintingSystem = inPhieuThu.PrintingSystem;
                inPhieuThu.CreateDocument();
            }
            else
            {
                if (MessageBox.Show("Chưa có Mã Số Phiếu Thu, Cần nhập Mã Số Phiếu Thu: ", "Note !", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    this.Close();
                    if (_fNhapMaPhieu == null || _fNhapMaPhieu.IsDisposed) // Chua Tao or Chua Mo fNhapMaPhieu, Tạo Mới fNhapMaPhieu
                    {
                        _fNhapMaPhieu = new fNhapMaPhieu();
                        _fNhapMaPhieu.MdiParent = fMain.ActiveForm;
                        _fNhapMaPhieu.Show();
                    }
                    else
                    {

                        _fNhapMaPhieu.Close();
                        _fNhapMaPhieu = new fNhapMaPhieu();
                        _fNhapMaPhieu.MdiParent = fMain.ActiveForm;
                        _fNhapMaPhieu.Show();
                    }
                }
            }
        }

        private void barButtonItem3_ItemClick(object sender, ItemClickEventArgs e)
        {
            if (fThuePhong.maPhieuDen > 0)
            {
                MessageBox.Show("In Phiếu Đến :  Số Phiếu  " + fThuePhong.maPhieuDen.ToString(), "Note !", MessageBoxButtons.OK, MessageBoxIcon.Information);

                DTO_PhieuDen dto_pd = new DTO_PhieuDen();
                dto_pd.MaPhieuDen = fThuePhong.maPhieuDen;

                DataTable dta_pd = BUS_PhieuDen.hienthiDanhSachPhieuDenDeInTheoMaPhieuDen(dto_pd);

                dta_pd.TableName = "rpPHIEUDEN";
                dta_pd.WriteXmlSchema(Application.StartupPath + @"\PHIEUDEN.xsd");

                PhieuDen inPhieuDen = new PhieuDen();
                inPhieuDen.DataSource = dta_pd;
                inPhieuDen.DataMember = "Table";
                printControl1.PrintingSystem = inPhieuDen.PrintingSystem;
                inPhieuDen.CreateDocument();
            }
            else
            {
                if (MessageBox.Show("Chưa có Mã Số Phiếu Đến, Cần nhập Mã Số Phiếu Đến : ", "Note !", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    this.Close();
                    if (_fNhapMaPhieu == null || _fNhapMaPhieu.IsDisposed) // Chua Tao or Chua Mo fNhapMaPhieu, Tạo Mới fNhapMaPhieu
                    {
                        _fNhapMaPhieu = new fNhapMaPhieu();
                        _fNhapMaPhieu.MdiParent = fMain.ActiveForm;
                        _fNhapMaPhieu.Show();
                    }
                    else
                    {

                        _fNhapMaPhieu.Close();
                        _fNhapMaPhieu = new fNhapMaPhieu();
                        _fNhapMaPhieu.MdiParent = fMain.ActiveForm;
                        _fNhapMaPhieu.Show();
                    }
                }
            }
            
        }

        private void barButtonItem6_ItemClick(object sender, ItemClickEventArgs e)
        {
            this.Close();
            if (_fNhapMaPhieu == null || _fNhapMaPhieu.IsDisposed) // Chua Tao or Chua Mo fNhapMaPhieu, Tạo Mới fNhapMaPhieu
            {
                _fNhapMaPhieu = new fNhapMaPhieu();
                _fNhapMaPhieu.MdiParent = fMain.ActiveForm;
                _fNhapMaPhieu.Show();
            }
            else
            {
                _fNhapMaPhieu.Close();
                _fNhapMaPhieu = new fNhapMaPhieu();
                _fNhapMaPhieu.MdiParent = fMain.ActiveForm;
                _fNhapMaPhieu.Show();
            }     
        }

        private void barCheckItem1_CheckedChanged(object sender, ItemClickEventArgs e)
        {
            if (fDatTiec.maDatTiec > 0)
            {
                MessageBox.Show("In Hóa Đơn Đặt Tiệc :  Mã  Hóa Đơn Đặt Tiệc  " + fDatTiec.maDatTiec.ToString(), "Note !", MessageBoxButtons.OK, MessageBoxIcon.Information);

                DTO_DatTiec dto_dt = new DTO_DatTiec();
                dto_dt.MaDatTiec = fDatTiec.maDatTiec;

                DataTable dta_dt = BUS_DatTiec.hienthiDanhSachDatTiecDeInTheoMaDatTiec(dto_dt);
                for (int i = 0; i < dta_dt.Rows.Count; i++ )
                {
                    soTienDatTiec += int.Parse(dta_dt.Rows[i]["DonGia"].ToString()) * int.Parse(dta_dt.Rows[i]["SoLuong"].ToString());
                }
                dta_dt.TableName = "rpDATTIEC";
                dta_dt.WriteXmlSchema(Application.StartupPath + @"\DATTIEC.xsd");

                HoaDonDatTiec inHoaDonDatTiec = new HoaDonDatTiec();
                inHoaDonDatTiec.DataSource = dta_dt;
                inHoaDonDatTiec.DataMember = "Table";
                printControl1.PrintingSystem = inHoaDonDatTiec.PrintingSystem;
                inHoaDonDatTiec.CreateDocument();
            }
            else
            {
                if (MessageBox.Show("Chưa có Mã Hóa Đơn Đặt Tiệc , Cần nhập Mã Hóa Đơn Đặt Tiệc: ", "Note !", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    this.Close();
                    if (_fNhapMaPhieu == null || _fNhapMaPhieu.IsDisposed) // Chua Tao or Chua Mo fNhapMaPhieu, Tạo Mới fNhapMaPhieu
                    {
                        _fNhapMaPhieu = new fNhapMaPhieu();
                        _fNhapMaPhieu.MdiParent = fMain.ActiveForm;
                        _fNhapMaPhieu.Show();
                    }
                    else
                    {

                        _fNhapMaPhieu.Close();
                        _fNhapMaPhieu = new fNhapMaPhieu();
                        _fNhapMaPhieu.MdiParent = fMain.ActiveForm;
                        _fNhapMaPhieu.Show();
                    }
                }
            }
            
        }

        private void barButtonItem7_ItemClick(object sender, ItemClickEventArgs e)
        {
            if (fThanhToan.maPhieuThu > 0)
            {
                MessageBox.Show("In Hóa Đơn Thanh Toán :  Số Phiếu Thu  " + fThanhToan.maPhieuThu.ToString(), "Note !", MessageBoxButtons.OK, MessageBoxIcon.Information);

                DTO_PhieuThu dto_pt = new DTO_PhieuThu();
                dto_pt.MaPhieuThu = fThanhToan.maPhieuThu;
                DataTable dta_pt = BUS_PhieuThu.hienthiHoaDonInTheoMaPhieuThu(dto_pt);
                dta_pt.TableName = "rpHOADONPHIEUTHU";
                dta_pt.WriteXmlSchema(Application.StartupPath + @"\HOADONPHIEUTHU.xsd");
                fThanhToan fmThanhToan = new fThanhToan();
                HoaDonPhieuThu inHoaDonPhieuThu = new HoaDonPhieuThu();
                inHoaDonPhieuThu.DataSource = dta_pt;
                inHoaDonPhieuThu.DataMember = "Table";
                printControl1.PrintingSystem = inHoaDonPhieuThu.PrintingSystem;
                inHoaDonPhieuThu.CreateDocument();
            }
            else
            {
                if (MessageBox.Show("Chưa có Mã Số Phiếu Thu, Cần nhập Mã Số Phiếu Thu: ", "Note !", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    this.Close();
                    if (_fNhapMaPhieu == null || _fNhapMaPhieu.IsDisposed) // Chua Tao or Chua Mo fNhapMaPhieu, Tạo Mới fNhapMaPhieu
                    {
                        _fNhapMaPhieu = new fNhapMaPhieu();
                        _fNhapMaPhieu.MdiParent = fMain.ActiveForm;
                        _fNhapMaPhieu.Show();
                    }
                    else
                    {

                        _fNhapMaPhieu.Close();
                        _fNhapMaPhieu = new fNhapMaPhieu();
                        _fNhapMaPhieu.MdiParent = fMain.ActiveForm;
                        _fNhapMaPhieu.Show();
                    }
                }
            }
        }

        private void barButtonItem8_ItemClick(object sender, ItemClickEventArgs e)
        {
            if (fBaoCao.duLieu != null)
            {              

                DataTable dta_bc = fBaoCao.duLieu;
                dta_bc.TableName = "rpBAOCAODOANHTHU";
                dta_bc.WriteXmlSchema(Application.StartupPath + @"\BAOCAODOANHTHU.xsd");
                fThanhToan fmThanhToan = new fThanhToan();
                BaoCaoDoanhThu inBaoCaoDoanhThu = new BaoCaoDoanhThu();
                inBaoCaoDoanhThu.DataSource = dta_bc;
                inBaoCaoDoanhThu.DataMember = "Table";
                printControl1.PrintingSystem = inBaoCaoDoanhThu.PrintingSystem;
                inBaoCaoDoanhThu.CreateDocument();
            }
            else
            {
                if (MessageBox.Show("Chưa có dữ liệu để lập Báo Cáo Doanh Thu Tháng: ", "Note !", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    this.Close();
                    if (_fBaoCao == null || _fBaoCao.IsDisposed) // Chua Tao or Chua Mo fBaoCao, Tạo Mới fBaoCao
                    {
                        _fBaoCao = new fBaoCao();
                        _fBaoCao.MdiParent = fMain.ActiveForm;
                        _fBaoCao.Show();
                    }
                    else
                    {

                        _fBaoCao.Close();
                        _fBaoCao = new fBaoCao();
                        _fBaoCao.MdiParent = fMain.ActiveForm;
                        _fBaoCao.Show();
                    }
                }
            }
        }

        private void barButtonItem9_ItemClick(object sender, ItemClickEventArgs e)
        {
            this.Close();
        }
    }
}